package test02;
// LoginController.java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * Controller - 负责业务逻辑控制
 */
public class LoginController {
    private LoginModel model;
    private LoginView view;

    public LoginController(LoginModel model, LoginView view) {
        this.model = model;
        this.view = view;
        initialize();
    }

    /**
     * 初始化控制器，设置事件监听器
     */
    public void initialize() {
        view.setLoginListener(new LoginListener());
    }

    /**
     * 处理登录事件
     */
    private void onLogin() {
        String username = view.getUsername();
        String password = view.getPassword();

        // 输入验证
        if (username.isEmpty() || password.isEmpty()) {
            view.showError("用户名和密码不能为空！");
            return;
        }

        // 调用Model进行验证
        boolean isValid = model.validateUser(username, password);

        // 根据验证结果更新View
        if (isValid) {
            view.showSuccess("欢迎 " + username + "！登录成功！");
            // 可以在这里添加登录成功后的逻辑，比如打开主界面
        } else {
            view.showError("用户名或密码错误！");
        }
    }
    /**
     * 内部类 - 登录事件监听器
     */
    private class LoginListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            onLogin();
        }
    }
}